System and Method for Visual History Presentation and Management

ABSTRACT

A method and computer program for managing and presenting a visual history of web pages accessed by a user. This method and computer program is able to create a screen of thumbnail snapshots of web pages for presentation to a user. These thumbnail snapshots are reduced images of the actual web pages themselves that the user has visited. Associated with each thumbnail snapshot is a universal resource locator for the web page. The history of the web pages visited may be displayed in a toolbar which is scrollable.

This application is a continuation of 09/708,093, filed on Nov. 8, 2000,entitled “SYSTEM AND METHOD FOR VISUAL HISTORY PRESENTATION ANDMANAGEMENT,” which is a continuation-in-part of U.S. patent applicationSer. No. 09/607,276, filed on Jun. 30, 2000, entitled “SYSTEM AND METHODFOR STORING BOOKMARKS AND HISTORY INFORMATION SPATIALLY ON A DISPLAY.”

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to co-pending U.S. patent application Ser.No. 09/607,369 filed on Jun. 30, 2000, entitled “USER INTERFACECONSTRUCTED FROM COMPONENTS CREATED FROM A SET OF TAGS” co-pending U.S.patent application Ser. No. 09/609,581 filed on Jun. 30, 2000, entitled“NETWORK WITH MOBILE TERMINALS HAVING WIRELESS ACCESS TO THE INTERNETAND METHOD FOR DOING SAME”, co-pending U.S. patent application Ser. No.09/659,416 filed on Jun. 30, 2000, entitled “INTELLIGENT TERMINALFUNCTIONING AS BROWSER”, and co-pending U.S. patent application Ser. No.filed on entitled “SYSTEM AND METHOD FOR VISUAL BOOKMARK PRESENTATIONAND MANAGEMENT” all assigned to and commonly owned by Nokia Corporationof Espoo, Finland and are herein incorporated by reference.

FIELD OF THE INVENTION

The invention relates to a system and method for visual historypresentation and management. More particularly, the invention is asystem and method in which compressed snapshots of web pages may bedisplayed on a screen to indicate the web sites a user has most recentlyvisited.

BACKGROUND OF THE INVENTION

With the explosion in Internet access and usage individuals havediscovered that they may now receive a large amount of information intheir homes and offices almost immediately from any number of sources.These sources include everything from the latest news, weather, andsports to stocks, bond and commodity prices. Currently, a typicalInternet user would have a browser installed in his local computer orserver such as Internet Explorer™ or Netscape™ . Using this browser, theuser would access an Internet service provider (ISP), such asAmerica-On-Line (AOL™), via a modem over the local public switchedtelephone network (PSTN). Once logged onto the Internet server, the usermay utilize one of the many search engines, such as Yahoo™ or Lycos™ ,to specify search terms. The user may also use a web crawler, spider orrobot to attempt to find a product, service or information desired. Thesearch engine or web crawler would then respond with a list of web siteswhich matched the search terms the user provided. The user would thenlog onto a web site and view the products or services available for saleor receive the information desired. Further, if the user discovers a website he prefers, the user may store the universal resource locator (URL)in a favorites' directory for later quick access. This storage of theURL in a favorites' directory is often referred to as bookmarking theentry and the entry is then referred to as a bookmark. In addition tobookmarks, the browser may keep in a history of the web pages visited bystoring each URL accessed. Thereafter, the user may revisit the web pageby accessing the favorites' directory and searching for a title for theweb page associated with a URL. However, once some number of bookmarkshas been accumulated, the user may find it difficult to identify thebookmark desired based on the title alone. Further, in some instancesthe designers of the web page may not necessarily create a title for aweb page as in the case of purely graphic web pages. Therefore, the usermay be forced to try and recognize the bookmark using solely the URL.The user under the circumstances would find it frustrating to lookthrough a large number of bookmarks by title and URL to identify the webpage desired. In addition, the user may often need to access several webpages before discovering the bookmark associated with the desired webpage. This also applies to the history file. A user or systemadministrator would often have to access the web site to determine thenature of the content therein.

To overcome this problem of inadequate description of bookmarks Nielsenin U.S. Pat. No. 5,963,964, issued on Oct. 5, 1999, the contents ofwhich are incorporated herein by reference, proposes substituting athumbnail snapshot of the web page itself for the title or the URL usedas a bookmark. However, in the case of a history file, it is stillnecessary to open the file and access the history by time period.

Therefore, what is needed are a system and method in which a history ofweb pages accessed may be organized for presentation as web pages sothat they may be easily discovered and accessed by a user. The systemand method should further present to the user the history of web pageaccess as thumbnail snapshots. Further, this system and method shoulddisplay these thumbnail snapshots to the user in such a fashion that theuser may identify the web page of interest and access it quickly.

SUMMARY OF THE INVENTION

An embodiment of the present invention provides for a method or computerprogram for presenting and managing bookmarks. This method begins byhaving the user enter the name of a map. This map represents a screenlayout having several thumbnail snapshots contained in the screen. Theuser then selects a web page to be stored as a bookmark. The web page isreduced in size to that of a thumbnail snapshot. The user then positionsthe thumbnail snapshot on the map. Thereafter, the thumbnail snapshot isstored with the map in a bookmark database.

These and other features of this device, method and computer programwill become more apparent from the following description when taken inconnection with the accompanying drawings which show, for purposes ofillustration only, examples in accordance with the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and a better understanding of the present invention willbecome apparent from the following detailed description of exemplaryembodiments and the claims when read in connection with the accompanyingdrawings, all forming a part of the disclosure of this invention. Whilethe foregoing and following written and illustrated disclosure focuseson disclosing example embodiments of the invention, it should beunderstood that the same is by way of illustration and example only andthe invention is not limited thereto. The spirit and scope of thepresent invention are limited only by the terms of the appended claims.

The following represents brief descriptions of the drawings, wherein:

FIG. 1 is a block diagram representation of a communication networkhaving mobile terminals that are capable of communicating with a systemhaving a server with related services;

FIG. 2 is a more detailed block diagram representation of the server ofthe system of the network shown in FIG. 1;

FIG. 3A is a more detailed block diagram of a terminal, which shows thespatial storage of bookmarks and history on the display with a toolbar,operating within the system shown in FIG. 1;

FIG. 3B is a more detailed block diagram of a mobile terminal, whichshows the spatial storage of bookmarks and history on the display,operating within the system shown in FIG. 1;

FIG. 4 is a flowchart of the process for establishing a shared sessionand an individual session between the terminal and the server of FIG. 1;

FIG. 5 is a flowchart of the process for establishing a communicationlink between the terminal and the server; and

FIG. 6 is a flowchart of a process for generating a history of web pagesvisited that can be easily recognized and accessed.

DETAILED DESCRIPTION

Before beginning a detailed description of the subject invention,mention of the following is in order. When appropriate, like referencenumerals and characters maybe used to designate identical, correspondingor similar components in differing figure drawings. Further, in thedetailed description to follow, exemplary sizes/models/values/ranges maybe given, although the present invention is not limited to the same.

FIG. 1 is a block diagram representation of a communication networkhaving mobile terminals that are capable of communicating with a systemhaving a server with related services. In FIG. 1, a network 10 includesa terminal 20 coupled to an access point 22. This terminal 20 may be,but not limited to, WAP-capable cellular telephone, a HTML-capablecellular telephone, or a processor-based system connected to a cellulartelephone. This processor-based system may be, but not limited to, apalm computer, lap-top computer or personal computer. Further, theterminal 20 is not limited to the use of a cellular phone and may alsouse the public switched telephone network (PSTN) or a satellitetelephone or any form of communications lines 30 such as standardtwisted pair phone lines, coax cable and fiber optics. Thesecommunications lines 30 may be leased lines including: T1 lines capableof transmitting at 1.54 Mbits/sec; T3 lines capable of transmitting at45 Mbits/sec; E1 lines capable of transmitting at 2.048 Mbits/sec; andE3 lines capable of transmitting at 34 Mbits/sec. Therefore,communications lines 30 may take the form of any radio frequency basedcommunications or any form of line or cable based communications.

The terminal 20 using communications lines 30 connects to an accesspoint 22 coupled to an Internet Service Provider (ISP) 24 throughcommunications lines 32, which is coupled to an Internet 26. Again,communications lines 32 may take the form of any radio frequency basedcommunications or any line or cable based communications system. Sincethe access point 22 is coupled to the Internet 26 it has an Internetaddress relative to the Internet address of the ISP 24. Additionally, inan example embodiment, the ISP 24 is coupled to a server 28 thatprovides the user, through the terminal 20, with specific services andfeatures, which will be discussed in detail ahead. In another exampleembodiment, the server 28 is coupled directly to the Internet 26 and,hence, the terminal 20 would access the server 28 through the Internet26.

Still referring to FIG. 1, the terminal 20 includes a virtual keyboard,a two-fingered navigational tool, which is the subject of related U.S.application Ser. No. 09/607359 entitled “SYSTEM AND METHOD FOR PROVIDINGA VIRTUAL KEYBOARD FOR A WIRELESS TERMINAL”; a two-fingered pressuresensitive special click-drag-drop feature, which is the subject ofrelated U.S. application Ser. No. 09/607638 entitled “METHOD ANDAPPARATUS FOR TOUCH SCREEN INPUT”; and a unique GraphicalUser-Interfaces (GUI), which is the subject of related U.S. applicationSer. No. 09/607369; entitled “USER INTERFACE CONSTRUCTED FROM COMPONENTSCREATED FROM A SET OF TAGS”. The server 28 provides services such asemail, calendar functions, notes, the ability to shop online with thenecessary authentication, as well as third party services andinformation, which is the subject of related U.S. applications Ser. No.09/609581, entitled “NETWORK WITH MOBILE TERMINALS HAVING WIRELESSACCESS TO THE INTERNET AND METHOD FOR DOING SAME”, U.S. application Ser.No. 09/607637 entitled “NETWORK WITH MOBILE TERMINALS AS BROWSERS HAVINGWIRELESS ACCESS TO THE INTERNET AND METHOD FOR USING SAME.”

Still referring to FIG. 1, terminal 20 may represent any number ofsimilar or different terminals as previously discussed above. Terminal20 is connected to the access point 22 via communications line 30enabling the user have access to the Internet 26 and the servicesprovided by the server 28. In an example embodiment where terminal 20 isa cellular telephone with WAP- capability or a cellular phone connectedto a palm computer, a personal digital assistant (P.A.), or a laptop,the user would have mobile access to Internet 26 and server 28.Additionally, a personal computer (PC) terminal 21 is coupled to theaccess point 22 via a landline 31. The terminal 21 can be used to accessthe server 28 using special authentication by any user authorized toaccess the information and services provided by the server 28. However,the authentication for the user using the terminal 21, which isdiscussed in further detail ahead, is slightly different from theauthentication procedure for the terminal 20, where terminal 20 is amobile terminal. More specifically, the terminal 20 is coupled to theaccess point 22 using a Wireless Local-Area-Network Gateway (PLAN GO)(not shown) that is installed at a specific location, such as the user'shome or place of business. In an example embodiment, the PLAN GOinterface uses Ethernet 802.11 transfer protocol. However, otherwireless interface protocols, such as GARS of Global System for MobileCommunications (GSM+), Universal Mobile Telecommunication Systems(UMTS), or any type of local area network (LAN), may be used withoutlimiting the spirit and scope of the present invention as set forth inthe claim claims. If the terminal 20 is powered on and within range ofthe access point 22, then an Ethernet protocol may be used as a transferprotocol in order to establish and maintain a communication link.

Although the example embodiment shows the terminal 20 coupled to theserver 28 through the ISP 24, the scope of the present invention, as setforth in the claims, is not limited thereby. For example, the terminal20 may be coupled directly to the server 28 through the access point 22.Regardless of how the terminal 20 is coupled to the server 28, once theterminal 20 is authenticated, as will be discussed ahead, it canfunction as an Internet browser to access the Internet 26 with theadditional ability to retrieve services and information from the server28. Furthermore, in the example embodiments set forth herein, the ISP 24is separate from and not acting as the server 28 and vice versa, eventhough it is possible to combine them into one unit.

As would be appreciated by one of ordinary skill in the art and aspreviously discussed, even though the example embodiments show theaccess point 22 coupled to the ISP 24 through a communications line 32,the scope of the present invention as set forth in the claims is notlimited thereby. For example, the access point 22 can be wirelessly byany means of radio frequency communications or by any wire or cablebased communications system coupled to the ISP 24. Thus, in the exampleembodiments, the terminal 20 accesses the ISP 24 through the accesspoint 22 and, thus, the user can access, navigate through, and retrieveinformation from the Internet 26 using the terminal 20.

Still referring to FIG. 1, in order for a terminal, such as terminal 20,to have access to the services of the server 28, the server 28 mustauthenticate and authorize the terminal's access. Although only theauthentication and authorization procedure relating to the terminal 20are discussed in detail, the teachings set forth herein are alsoapplicable to other types of terminals. Upon proper authentication ofterminal 20, the user can access the services of the server 28 at theauthorized level of authentication.

Generally if the terminal 20 is powered on and authenticated by theserver 28, then information or services from the server 28 aredownloaded to the terminal 20. The server 28 downloads information, suchas profile settings for a group. One profile setting that can bedownloaded is language preferences for a shared communication session.Other information or services may include configuration data, driver orapplication related software or portions thereof, partial sections ofsystem software, or configurable parameters depending on the level ofauthentication that has occurred with respect to the user. Additionally,the terminal 20 can have access through proper authentication andservice purchases, third party publications available from a contentprovider or vendor 33. This content may include items such as nationalor international news, related information found in magazinepublications or the daily newspaper. As would be appreciated by one ofordinary skill in the art this information may be purchased by the userand then transmitted by the vendor 33 upon request of the user's groupat the server 28 and then to all terminals within the group of theterminal 20; alternatively, the information could be purchased by anoperator/owner of the services provided by the terminal 28 and thenresold to each group as requested. Thus, a group profile can alsoinclude access to the information services of the vendor 33 that can bemade available to the group or just the user, depending on theauthentication.

There are two levels of authentication that provide access to theservices and information of the server 28. The first is at the grouplevel and the second is at the individual level. The group level is alevel of authentication that occurs based on the identity of theterminal 20 in order to initiate a shared session. In order to create agroup, at least one terminal is needed, but typically there are severalterminals 20 that make up a group, and each terminal 20 has a uniqueidentity that allows that terminal access to a shared session at thegroup level. Furthermore, each group includes a specific group profileand this group profile is downloaded during a shared session from theserver 28. Thus, anyone having access to the terminal 20 would haveaccess to the group level information and services, such as calendarfunctions, e-mail, bookmarks, cookies, and e-publication, all of whichare set up for the group. As will be discussed ahead, these sameservices may be available to the user at the individual level, but thecontent of the information would vary. The server 28 includes storagecapacity for storing data related to the group in a group specificstorage unit that can be accessed and used by all terminals within thegroup once the terminal has been authenticated and the shared sessioninitiated.

In an example embodiment, the group level authentication is based on theidentity of the hardware of the terminal 20 and the authenticationoccurs automatically to initiate the shared session once the terminal 20is powered on. Even though the authentication at the group level occursautomatically, the scope of the invention as set forth in the claims isnot limited thereby. For example, the terminal 20 could request inputfrom the user in order to initiate the group level authenticationprocess. Once the terminal 20 is authorized to access the services, theneach user of a terminal 20 is able to access information and servicesthat are available to all users in the group as well as initiate anindividual communication session to access individual information andservices available only to that user, provided the user has a profileassociated with group and associated with the terminal that hasestablished the shared session that is in progress.

Still referring to FIG. 1, unlike the shared session at the group level,an individual session at the individual level is a level ofauthentication that requires input from the user to allow the user of aterminal 20 to access information intended only for that user. Forexample, the user could use any terminal 20 that is within the user'sgroup and initiate an individual session to access information andservices specific to that user. The authentication can be done usinganything that is unique and only known by that user, such as a password.Thus, the user can initiate an individual session regardless of whichterminal is being used. When the user activates an individual sessionthen configuration parameters, which are specific to the user, aredownloaded to the terminal 20. Although in the preferred embodiment auser must have a profile associated with the same group that theterminal's profile is associated, the scope and spirit of the presentinvention is not limited thereby. For example, the network 10 could beset up to allow a user access from any terminal 20 or 21 regardless ofthe association between the user, the terminal 20, and the group as longas the user can be authenticated by the server 28. This is similar tothe manner by which a user would gain access to the server 28 from theterminal 21.

As indicated above, anyone having access to the terminal 20 would haveaccess to the group level information and services, becauseauthentication is based on the terminal 20 and occurs automatically andthe shared session is always active when the terminal 20 is powered on.Even though any user of the terminal 20 can have access to informationand services at the group level, only a designated user can change thegroup or take actions on behalf of the group. In an example embodiment,one or two users within the group are typically designated to haveadministrative rights for the group. The user/users with administrativerights are called a group administrator. The group administrator has theright to alter group profiles and the information related to the groupadministrator is stored in the server 28 and administration access canbe authenticated by a password. The group administrator, onceauthenticated, can alter the group profile settings, add or deleteterminal profiles form the group profile, and add or delete userprofiles form the group profile.

One group setting that the group administrator can select is thelanguage setting for the shared sessions. However, each user can selecthis or her own language preference for the individual sessions. Forexample, in a multilingual group, the group language can be one specificlanguage, while the language for each user may be different during theindividual session for that user. Then depending on the session type,which is either family or individual, the terminal 20 will show text inthe selected language, which is established in the group or individualprofile, respectively.

Additionally, the group administrator can have access to purchasingservices that may require the ordering party to be of legal age for thepurpose of ordering or purchasing additional services, such as news orpublication services. Thus, while all users of the terminal would haveaccess to group level services, such as access to the Internet 26, theywould not be able to make administrative decision, unless they wereauthenticated as the group administrator. Accordingly, the group isprotected from unauthorized or unwanted alteration of group profile aswell as financial commitments from occurring at the group level from theterminal 20, especially given that the identity of the user of theterminal 20 is not unknown at the group level yet that user has accessto the server 28 as well as the Internet 26 through the terminal 20coupled to the ISP 24.

Still referring to FIG. 1, in addition to the ISP 24, the access point22 is also coupled to a global unit or content provider 34. In anexample embodiment, the access point 22 may communicate with the contentprovider 34 through a link 35A. Alternatively, the access point 22 maycommunicate with the content provider 34 through a communication line32, the ISP 24, and a link 35B. In yet another alternative embodiment,the access point 22 may communicate with the content provider 34 througha communication line 32, the ISP 24, the Internet 26, and a link 35C.

Still referring to FIG. 1, the content provider 34 includes a globaladdress server 36, a global upgrade server 38, and a firewall unit 40.It will be apparent to those skilled in the art that the firewall unit40 functions to provide secured access to the global address server 36and the global upgrade server 38. In an example embodiment, the Internetaddress of the content provider 34 with the global address server 36 ispermanently contained in the memory of the terminal 20. Even thoughreference is made hereinafter only to the Internet address of the globaladdress server 36 without specific reference to the Internet address ofthe content provider 34, as would be appreciated by one of ordinaryskill in the art the Internet addresses for the two may be the same orcould be slightly different depending on configuration parameters. Theglobal address server 36 is a place from which all the terminals 20 canfetch the Internet address of their respective server. The advantage ofhaving the terminal 20 store the Internet address of the global addressserver 36 is that if the terminal 20 was relocated near another accesspoint, then the terminal 20 can still obtain the Internet addresslocation of the server 28 simply by knowing the Internet address of theglobal address server 36. However, the scope of the invention as setforth in the claims is not limited thereby. For example, the Internetaddress of the server 28 could be stored on the terminal 20 and thememory of the terminal 20 could be updated as needed.

Still referring to FIG. 1, an advantage to storing the Internet addressof the global address server 36 on the terminal 20 is that theassociation between terminal and server as well as changes in theInternet address of servers can be easily and efficiently updatedwithout having to update the memory of each terminal. The global updateserver 38 updates the global address server 36 each time there is achange in the association between terminal 20 and server 28, when thereare new terminals 20 to associate with a server 28, or if the Internetaddress of a particular server 28 is changed.

Still referring to FIG. 1, with the Internet address of the globaladdress server 36 stored in the memory of the terminal 20, the terminal20 is able to request and retrieve the Internet address of the server 28from the global address sever 36. The global address server 36 storesinformation about the location of the server 28 and all other servers inthe network and the corresponding relation between each terminal 20 andits server 28. Thus, the terminal 20A is always able to obtain theaddress of the server 28, which is the server designed to serve theterminal 20. For example, the terminal 20A coupled through an accesspoint 42 to an ISP 44 can retrieve the Internet address of the server 28from the global address server 36, provided that the server 28 is theserver designated to and serve the terminal 20A and that the terminal20A is authenticated by the server 28 as an authorized user of theservices.

FIG. 2 is a more detailed block diagram representation of the server ofthe system of the network shown in FIG. 1. In FIG. 2, the server 28includes a support server 46, a response handler or application server48, a network application server 50, and a directory server 52. As wouldbe appreciated by one of ordinary skill in the art the referencedconnections do not depict the physical connections between the elementsbut merely logical connections. The support server 46 provides servicesoriented towards enabling and supporting the services provided to theterminal 20. The support server 46 includes an upgrade service unit 54,a bookmark service database unit 55, a login services unit 56, abookmark database 57, a profile services unit 58, a client log unit 59for collecting information about clients, an advertisement services unit60, a system log unit 61 for collecting information about events in theserver 28 from the client log unit 59, an administrative services unit62, a defined services unit 64, and a directory client unit 66.

Still referring to FIG. 2, the upgrade services unit 54 is dedicated tocontrolled software upgrade of the software for the support server 46.Updates are transmitted from the global upgrade server 38 to the upgradeservice unit 54. The login services unit 56 provides for authenticationof the user and the terminal 20 that is being used to access theservices based on information provided by the client unit 66.Additionally, the login services unit 56 is also responsible for log-offactivities, such as individual session termination. The profile servicesunit 58 provides for modifying a user's profile information. Thismodification of a user's profile may include modifying the group andindividual information and preferences. The administration services unit62 provides for administration of the support server 46 and theapplication server 48. The advertisement services unit 60 provides forthe server 28 to tailor advertisements to the user and the terminal 20according to the user's profile information. The defined services unit64 is a classification of “other services” containing items such asbookmark management services, help services, log services, namemanagement services, and general management services. The directoryclient unit 66 is coupled to the directory server 52 to provide clientverification.

FIGS. 3A and 3B are a more detailed block diagram of a terminal, whichshows the spatial storage of bookmarks and history on the displayoperating within the system shown in FIG. 1. FIG. 3A differs from FIG.3B in that toolbar 73 is depicted in FIG. 3A have not in FIG. 3B.Therefore, both FIGS. 3A and 3B will be discussed simultaneously.

Referring to FIGS. 3A and 3B, the terminal 20 includes a display 70, auser interface (UI) framework 72, a browser 74, a driver 76, andprocessor 78. Each element is shown here for reference only and thelocation of each element is not intended to be a defined location of oneelement relative to the other elements. For example, the user interface72 may be located in the display, as a part of the display, orindependent of the display. The display 70 is spatially divided forvisual storage of thumbnails 71A-71G of the bookmarks selected by theuser. In one example embodiment, the display 70 in FIG. 3A includes atool bar portion 73 that contains history 73A-73D of various web pagesor URLs visited. In another example embodiment, shown in FIG. 3B, thespatial structure of the display 70 is used to store the history 73A-73Dof various web pages or URLs visited. It will be apparent to those ofordinary scale in the art that various ways can be used to generatethumbnails of the bookmarks and the history. With respect to the presentembodiment, a view of the display 70 illustrates thumbnails 71A, 71B,71C stored on the display in a vertical orientation in the upper righthand portion of the display 70. Thus, the user has a visual display ofthe thumbnails of the bookmarks, which are spatially organized in avertical manner. Similarly, the user has selected to organize and groupthe bookmarks 71D, 71E, 71F and 71G in another portion of the display 70in accordance with a polar spatial organizational scheme. It will beapparent to those of ordinary skill in the art that the any spatialorganizational scheme can be utilized in response to how the spatialdivision of the area of display 70. Thus, the user's ability to recallthe content of a bookmark is greatly enhanced, even if the bookmark doesnot include textual reference to its content because of the spatiallocation of the bookmark relative to other bookmarks. Therefore, theuser may more easily find selected bookmarks based solely on theirlocation of the screen.

Still referring to FIGS. 3A and 3B, similarly, the thumbnails of thehistory 73A, 73B, 73C and 73D can be spatially organized. For example,the history 73A, 73B, 73C and 73D are organized linearly and include athumbnail snap shot of the pages visited. In the example embodimentsdiscussed, the latest history is visually shown as a snapshot in aselected spatial area of the display 70 and selecting a history itemwill show the content of the page as it was when the history informationwas collected and stored. Thus, spatial organization is utilized so thatthe user can easily select the desired history thumbnail correspondingto the web page that the user wants to re-visit. The visual thumbnailsof each history includes the URL address of the selected Internetaddress object, which may be shown as a hint. The spatial position ofeach thumbnail on the display 70 as well as what information is storedabout each web page, depending on whether it is bookmark or history, isdefined by the user and controlled by the driver 76.

Still referring to FIGS. 3A and 3B, the driver 76 resides in the memoryof the processor 78 along with other data, such as the Internet addressof the global address server 36 and software, such as the browser 74. Asthe terminal 20 is turned on, the driver 76 retrieves data relating tothe Internet address of the global address server 36. In an exampleembodiment, the driver 76 may be EPOC6, which is operating systemsoftware that handles hardware related functions in the terminal as wellas offer a functioning environment to the application layer programs.Once the terminal 20 is power on, it is coupled to the access point 22and the ISP 24. Thus, the terminal 20 is able to obtain its own Internetaddress.

Using the Internet address of the global address server 36, the terminal20 is coupled to the global address server 36 and sends a request inorder to obtain the Internet address of the server 28. Once the terminal20 has the Internet address of its server 20, it is then connected tothe server 28. The server 28 authenticates, using the unique identity ofthe processor 78 of the terminal 20, that the terminal 20 has shared orgroup access privileges. Accordingly, the terminal 20 is authenticatedand logged onto the server 28 to begin a shared session at a shared orgroup level. Thus, the user can now access services or retrieveinformation from the server 28 or the Internet 26. In order for the userto initiate an individual session and retrieve individual information,the user must use the terminal 20 and provide further authentication tothe server 28 to gain access at the individual level. Then each terminalincludes a unique identification and which is reserved and used bymembers belonging to the same group. Each of the unique identificationsof the terminals is recognized in the server 28 to be used by themembers of the group. Every member belonging to the respective group mayuse the same terminal. When one or more terminals, each of the terminalshaving a unique terminal identification, is switched on, then eachterminal belonging to the same group requests from the global addressserver 36 with terminal unique identification the address of the server28 in which the applications and services are stored and ready for use.Then each of the terminals belonging to the same group will get addressof the same server 28 into which each of the terminals are connected. Aswould be appreciated by one of ordinary skill in the art, either atshared/group or at individual level, the user is able to the retrievethe information related to the group of users as well as browse theInternet 26 to retrieve information.

Still referring to FIGS. 3A and 3B, the browser 74 is a typical browserand includes such features as Hyper-Text Transfer Protocol (HTTP), JAVAscript, and cascade style sheet capability. As with typical PersonalComputers (PCs), the browser 74 helps the user to navigate through andretrieve information from the Internet once the user is connected to theISP 24 through the terminal 20. The user utilizes the terminal 20 toconnect to both the ISP 24 and the server 28 using authenticationprotocol as discussed in detail herein. The terminal 20 is the primarymeans of access by the user to the server 28 and the related servicesand applications. However, the user can also access the ISP 24 and theserver 28 using the terminal 21 or non-mobile terminal using appropriateshared/group access authentication initiated manually.

Still referring to FIGS. 3A and 3B, in order to retrieve information orrequest services from the server 28 or the Internet 26, the userprovides input through the user interface (UI) framework 72. The usercan provide input using a virtual keyboard displayed on the display 70.Even though the virtual keyboard is used as the user retrievesinformation from the Internet 26, such as a web page, the user canreceive the information at the display 70 of the terminal 20 in a fullscreen format. Full screen format is available because the UI framework72 disappears when the user types a Universal Resource Locator (URL) orfollows a hyperlink while navigating the Internet 26. In order to returnto the UI framework 72, the user presses a button 80 and the virtualkeyboard as well as the header and footer related to the services arepresented again. Additionally, once the user presses the button 80, theweb page, which was a full screen displayed prior to pressing the button80, is reduced to a thumbnail view and positioned in the display 70,such as in the bottom left corner of the footer. Consequently, the userhas a shortcut to quickly access the web page that was previouslyvisited or to save that web page as a bookmark.

Before entering into a discussion of the remaining figures it should benoted that the flowcharts shown in FIGS. 4 and 5, contain software,firmware, processes or operations that correspond, for example, to code,sections of code, instructions, commands, objects, or the like, of acomputer program that is embodied, for example, on a storage medium suchas, but not limited to, floppy disk, CD Rom, EP Rom, RAM, hard disk,etc. Further, the computer program can be written in any language suchas, but not limited to, for example C++.

FIG. 4 is a flowchart of the process for establishing a shared sessionand an individual session between the terminal and the server of FIG. 1.In FIG. 4, the process of authenticating a terminal 20 at the shared orgroup level in order to initiate a shared or group session andauthenticating the user at the individual level to initiate anindividual session, beings in operation 400 and immediately proceeds tooperation 402. In operation 402, it is determined whether the terminalis powered on. At operation 404, if it is determined that the terminalis not powered on, then a communication link cannot be establishedthrough an access point 22 to the server 28 and, hence, the processreturns to operation 402 until the terminal is powered on.

However, if the terminal 20 is powered on, then the terminal 20establishes a connection to the access point 22 and, hence, to an ISP 24and a global address server 36. Thereafter, in operation 408, theterminal obtains the Internet address of its server from the globaladdress server 36.

Still referring to FIG. 4, in operation 410, the terminal 20communicates with the server 28 and is authenticated as an authorizedterminal 20 with access to information and services at the shared orgroup level and the shared or group session begins and continues untilthe terminal is turned off. Additionally, the group profile isdownloaded to the terminal 20 when the shared session is active. Oncethe server 28 recognizes the terminal 20, establishing the sharedsession is an automatic background activity carried out by the terminal20 and transparent to the user, which is further discussed with respectto FIG. 5. In order for the user to establish an individual session andaccess individual information and services, the user has to log in as anindividual user at the individual level.

Still referring to FIG. 4, in operation 412 it is determined if the useris an authorized individual user. At operation 414, if the user is notauthenticated as an individual user, then the user will only be givenaccess to a shared session with the shared level information andservices. However, in operation 416, if the user is an authorisedindividual user, then an individual session is established and the useris allowed access to the individual information and services. Althoughthe individual level information and services may be the same for allusers, the content will vary from user to user.

Processing then proceeds to operation 418, in the individual session theuser retrieves information and uses the individual level servicesprovided by the server. In operation 420, it is determined if the userwants to terminate the individual session and return to the sharedlevel. If it is determined that the user does not want to terminate theindividual session, then the user continues the individual session atthe individual level and the process returns to operation 418. However,if it is determined that the user wants to terminate the individualsession, then at operation 422, the individual session is terminated andthe user goes from the individual level to the shared or group level.Thereafter in operation 424, it is determined if the terminal 20 isstill powered on. If the terminal is powered on, then the processreturns to operation 412 with the user at the shared or group level in ashared/group session. However, if the terminal is turned off, then theshared session is also terminated that the terminal 20 is logged off ofthe server 28 and the process ends in operation 426.

Therefore, once the server authenticates the terminal 20, then a sharedsession begins at the shared/group level. Once the user is recognized asan individual user, then an individual session is initiated.Consequently, an individual session remains in effect until the userexplicitly terminates the individual session, whereas a shared/groupsession remains in effect until the terminal is turned off.Additionally, during a shared session when a predetermined period oftime expires without any input from the user, then the terminal 20 canenter standby mode in order to conserve battery life until the terminal20 (in the case of a mobile terminal) receives an input from the user.Other features can be included, such as termination of the individualsession if no input is received from the user after a predeterminedperiod of time.

FIG. 5 is a flowchart of the process for establishing a communicationlink between the terminal and the server. In FIG. 5, the process ofestablishing a communication link to an access point, operation 406 ofFIG. 4, and obtaining the Internet address of an server 28 for thatterminal 20, operation 408 of FIG. 4, for initiating a shared session atthe shared level, begins in operation 500 can immediately proceeds tooperation 502. In operation 502, the terminal establishes acommunication link with the access point 22. In operation 504, theterminal 20 obtains its Internet address from the access point 22 basedon the Internet address of the access point 22 with which the terminal20 has established the communication link. Thereafter, in operation 506,the terminal 20 establishes a communication link 32 with the ISP coupledto the access point 22. In operation 508, the terminal 20 retrieves theInternet address of the global address server 36 from its memory.Thereafter, in operation 510, the terminal 20 sends a request to theglobal address server 36 for the Internet t address of the server 28that is associated with the terminal. Processing then proceeds tooperation 512, the global address server returns the Internet address ofthe appropriate server 28 to the terminal 20. In operation 514, theterminal 20 sends its identification information to the server 28located at the Internet address provided by the global address server 36in order to establish a communication link with the server 28. Then inoperation 516, the server 28 authenticates the terminal 20 and ashared/group session at the shared/group level is established betweenthe server 28 and the terminal 20. Then in operation 518 a family orgroup session then begins.

FIG. 6 is a flowchart of a process for generating a history of web pagesvisited that can be easily recognized and accessed. A history of webpages accessed by the user is depicted and FIG. 3A and FIG. 38. Itshould be noted that in FIG. 3A histories 73A through 730 are showncontained within the toolbar 73, while in FIG. 38 the histories 73Athrough 730 are shown as contained within displays 70. Providing thehistories 73A through 730 within toolbar 73 enables the user to scrollfrom left to right in order to view the most recent to the least recentweb pages accessed. As in the case of thumbnail snapshots 71A through71G the histories 73A through 730 are depicted as thumbnail snapshots.Therefore, by viewing these histories 73A through 730 it is possible foruser to quickly determine any web site the user wishes to revisit. Alsosends it is likely that the most recent web pages accessed would be theones most likely to be revisited the user may quickly revisit these webpages since they would be displayed on the users screen.

The processing illustrated in FIG. 6 begins in operation 600 andimmediately proceeds to operation 615. In operation 615, processor 78determines whether the user has accessed a web page. If the user has notaccessed a web in operation 615 then processing looks back to operation615 until the user accesses a web page.

However, if the user accesses a web page then processing proceeds tooperation 620.

In operation 620, it is determined if the web page accessed is differentfrom the last entry in the history. This is done in order to a sure thatduplicate thumbnail snapshots of the same web page without the year intoolbar 73 or display 70. If the web page is the same as the last entryin the history then processing loops back to operation 620 until thechange in web pages occurs. Again, this prevents multiple identicalentries of a web page from being placed in toolbar 73 or display 70.However, if the user has accessed a new web page previously not storedin the history then processing proceeds to operation 625. In operation625 the web page is accessed and reduced in size to a thumbnailsnapshot. This thumbnail snapshot appears in the lower left-hand cornerof display 70 or toolbar 73 for the user to view. Thereafter, inoperation 635 the remaining thumbnail snapshots are moved to the rightas shown in toolbar 73 and display 70 in FIG. 3A and FIG. 3B. Processingthen proceeds to operation 640 where execution terminates in the case ofthe user exiting the system.

Therefore, a history of web sites accessed is maintained and visuallypresented to the user. This history would be depicted as either in theform of a toolbar 73 which the user could manipulate to access andentire history or simply as a portion of a display 70.

The benefit provided by the example embodiments of the present inventionis that the user may revisit desired web pages by viewing thumbnailsnapshots. The most recent thumbnail snapshots of web sites accessed aredisplayed for the user and may be quickly selected for reviewing.

While we have shown and described only a few examples herein, it isunderstood that numerous changes and modifications as known to thoseskilled in the art could be made to the present invention. For example,the layout of a screen may vary based upon individual needs. Further,example embodiments of the present invention may be incorporated intoany browser for accessing a history. Still further, the positioning ahistory on a screen may be done by the user or performed by an automaticfunction based on alphabetical order or date of access to the web site.Therefore, we do not wish to be limited to the details shown anddescribed herein, but intend to cover all such changes modifications asare encompassed by the scope of the appended claims.

1. A method comprising: accessing a web page; reducing the size of theaccessed web page to a thumbnail snapshot; comparing the accessed webpage content to a previously accessed web page content; and displayingthe thumbnail snapshot of the accessed web page in an area of a screenif the accessed web page content and the previously accessed web pagecontent are not the same, wherein the thumbnail snapshot provides one ormore options that, when selected, store the thumbnail snapshot as abookmark.
 2. The method recited in claim 1, wherein prior to thereducing the size of the accessed web page to a thumbnail snapshot,further comprising: checking a history file to determine if the accessedweb page is in the history file; and reducing the size of the web pageonly when the accessed web page is not in the history file.
 3. Themethod recited in claim 2, wherein the thumbnail snapshot is displayedto in a toolbar.
 4. The method recited in claim 3, wherein the toolbaris able to scroll and display a plurality of thumbnail snapshots fromthe most recent to the least recent.
 5. The method recited in claim 1,further comprising: displaying one or more thumbnail snapshots ofbookmarked web pages in a second area of the screen.
 6. A computerprogram embodied on a computer readable medium and executable by acomputer, that, when executed performs, a method comprising: accessing aweb page; reducing the size of the accessed web page to a thumbnailsnapshot; comparing the accessed web page content to a previouslyaccessed web page content; and displaying the thumbnail snapshot of theaccessed web page in an area of a screen containing history informationonly if the accessed web page content and the previously accessed webpage content are not the same.
 7. The computer program recited in claim6, wherein prior to the reducing the size of the accessed web page to athumbnail snapshot, further comprising: checking a history file todetermine if the accessed web page is in the history file; and reducingthe size of the accessed web page only when the web page is not in thehistory file.
 8. The computer program recited in claim 7, wherein thethumbnail snapshot is displayed in a toolbar.
 9. The computer programrecited in claim 8, wherein the toolbar is able to scroll and display aplurality of thumbnail snapshots from the most recent to the leastrecent.
 10. The computer program recited in claim 6, further comprising:displaying one or more thumbnail snapshots of bookmarked web pages in asecond area of the screen.
 11. The method of claim 1, wherein the areaof a screen containing only history information displays a plurality ofthumbnail snapshots of previously accessed web pages simultaneously. 12.The method recited in claim 1, wherein the screen is embodied in acellular phone or a personal digital assistant.
 13. The method recitedin claim 5, wherein the screen is embodied in a cellular phone thethumbnail snapshots of the bookmarked web pages being arranged in apolar spatial organizational scheme.
 14. The computer program recited inclaim 6, wherein the screen is embodied in a cellular phone or apersonal digital assistant.
 15. The computer program recited in claim10, wherein the thumbnail snapshots of the bookmarked web pages arearranged in a polar spatial organizational scheme.
 16. A terminal,comprising: a processor; a screen; and a computer program embodied on acomputer readable medium and executable by the processor for presentingand managing a history of web pages accessed, when executed performing amethod comprising: accessing a web page; reducing the size of theaccessed web page to a thumbnail snapshot; comparing the accessed webpage content to a previously accessed web page content; and displayingthe thumbnail snapshot of the accessed web page in an area of the screencontaining history information only if the accessed web page content andthe previously accessed web page content are not the same.
 17. Theterminal recited in claim 16, wherein, when executed, the computerprogram, prior to the reducing the size of the accessed web page to athumbnail snapshot, further performs: checking a history file todetermine if the accessed web page is in the history file; and reducingthe size of the accessed web page only when the web page is not in thehistory file.
 18. The terminal recited in claim 16, wherein thethumbnail snapshot is displayed in a toolbar.
 19. The terminal recitedin claim 18, wherein the toolbar is able to scroll and display aplurality of thumbnail snapshots from the most recent to the leastrecent.
 20. The terminal recited in claim 16, wherein, when executed,the computer program further performs: displaying one or more thumbnailsnapshots of bookmarked web pages in a second area of the screen. 21.The terminal recited in claim 16, wherein the area of a screencontaining only history information displays a plurality of thumbnailsnapshots of previously accessed web pages simultaneously.
 22. Theterminal recited in claim 16, wherein the terminal is a cellular phoneor a personal digital assistant.
 23. The terminal recited in claim 20,wherein the thumbnail snapshots of the bookmarked web pages are arrangedin a polar spatial organizational scheme.
 24. A terminal comprising:means for accessing a web page; means for reducing the size of theaccessed web page to a thumbnail snapshot; means for comparing theaccessed web page content to a previously accessed web page content; andmeans for displaying the thumbnail snapshot of the accessed web page inan area of a screen if the accessed web page content and the previouslyaccessed web page content are not the same, wherein the thumbnailsnapshot provides one or more options that, when selected, store thethumbnail snapshot as a bookmark.
 25. The terminal of claim 24, furthercomprising means for: checking a history file to determine if theaccessed web page is in the history file prior to the reducing the sizeof the accessed web page to a thumbnail snapshot; and reducing the sizeof the web page only when the accessed web page is not in the historyfile prior to the reducing the size of the accessed web page to tthumbnail snapshot.
 26. The terminal of claim 24, wherein the thumbnailsnapshot is displayed to a toolbar.
 27. The terminal of claim 26,wherein the toolbar is configured to scroll and display a plurality ofthumbnail snapshots from the most recent to the least recent.
 28. Theterminal of claim 24, further comprising: means for displaying one ormore thumbnail snapshots of bookmarked web pages in a second area of thescreen.